package service;

import java.util.List;

import net.sf.json.JSONArray;
import dao.DocumentDAO;
import domain.Document;

/**
 * 文档Service接口.
 * <p>
 * 创建日期：2010-07-01<br>
 * 创建人：Xiyt<br>
 * 修改日期：<br>
 * 修改人：<br>
 * 修改内容：<br>
 * 
 * @author Xiyt
 * @version 1.0
 */
public interface DocumentService {

	/**
	 * 设定文档Dao
	 * */
	public void setDocumentDao(DocumentDAO documentDao);

	/**
	 * 查询分类数量
	 * @param paramDocument 文档
	 * @return int 分类数量
	 */
	public int countByCriteria(Document paramDocument);
	
	/**
	 * 获得文档
	 * @param documentId 文档ID
	 * @return Document 文档
	 */
	public Document selectByPrimaryKey(Integer documentId);

	/**
	 * 查询文档列表
	 * @param paramDocument 文档
	 * @return List 文档列表
	 */
	public List<Document> selectByCriteria(Document paramDocument);

	/**
	 * 查询文档列表带分页
	 * @param paramDocument 文档
	 * @return List 文档列表
	 */
	public List<Document> selectByCriteriaForPaging(Document paramDocument);

	/**
	 * 查询文档树
	 * @param parentId 文档ID
	 * @return JSONArray 文档树
	 */
	public JSONArray selectDocumentForTree(String parentId);

	/**
	 * 添加文档
	 * @param paramDocument 文档
	 */
	public void insert(Document document);

	/**
	 * 修改文档
	 * @param paramDocument 文档
	 */
	public void update(Document document);

	/**
	 * 删除文档
	 * @param documentIds 文档IDS
	 * @param uploadFilePath 文件上传路径
	 */
	public void delete(String documentIds, String uploadFilePath) throws Exception;

	/**
	 * 移动文档
	 * @param documentIds 文档IDS
	 * @param parentId 移动的位置ID
	 */
	public void move(String documentIds, String parentId);
}
